
package com.example.mapper;

import com.example.model.Machine;
import com.example.model.MachineTx;
import com.example.model.MachineTxBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

@Mapper()    // 加注解，必须
public interface MachineMapper {

    /**
     * @Description 根据用户ID查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:06
     * @Param id
     * @Return com.example.model.Ccddata
     * @Exception
     */
    Machine selectMachineById(int id);

    /**
     * @Description 根据二维码查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineByQrcode(String qrcode);

    /**
     * @Description 根据二维码查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineByQrcode2(String qrcode);
    /**
     * @Description 根据二维码查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineByQrcode3(String qrcode);
    /**
     * @Description 根据二维码查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineByQrcode4(String qrcode);

    /**
     * @Description 根据二维码查询用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineByType(Machine machine);

    /**
     * @Description 根据二维码查询点胶
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Machine selectMachineDjByQrcode(String qrcode);

    /**
     * @Description 根据二维码查询点胶
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    Integer countByItemNoAndDate(
            @Param("item_no") String itemNo,
            @Param("product_no") String productNo,
            @Param("machine_id") String machineId,
            @Param("result") String result,
            @Param("startDate") Date startDate,
            @Param("endDate") Date endDate
    );
  //  int countByItemNoAndDate(String item_no,String result,String machine_id,LocalDate startDate,LocalDate endDate);


    /**
     * @Description 查询全部用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    List<Machine> selectMachineAll();

    /**
     * @Description 新增用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param sysUser
     * @Return int
     * @Exception
     */
    int insertMachine(Machine machine);

    /**
     * @Description 新增结果信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param sysUser
     * @Return int
     * @Exception
     */
    int insertMachineResult(Machine machine);

    /**
     * @Description 修改用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param sysUser
     * @Return int
     * @Exception
     */
    int updateMachine(Machine machine);

    /**
     * @Description 删除用户信息
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param
     * @Return int
     * @Exception
     */
    int deleteMachineById(int id);

    /**
     * 通过批次号获取多个二维码
     * @param batchQrCode
     * @return
     */
    List<String> queryQrCodesByBatchQrcode(@Param("batchQrCode") String batchQrCode);

    List<Machine> listMachineTxByQrCodes(@Param("qrCodes") List<String> qrCodes);

    /**
     * @Description 根据二维码查询设备结果
     * @Author chengjunyu
     * @Date 2022/1/24 11:07
     * @Param * @param
     * @Return java.util.List<com.example.model.Ccddata>
     * @Exception
     */
    List<Machine>  selectMachineResult(@Param("qrCodes") List<String> qrCodes);

}



